home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / INFO / DOSTRAIN.ZIP / PONG.BAS < prev    next >
BASIC Source File  |  1986-10-06  |  2KB  |  32 lines

  1. 2 DEFINT B-V
  2. 5 DEF FNP(X,V)=INT(X+.5)*2+V*160
  3. 10 GOTO 110
  4. 20 FOR T=1 TO L:NEXT:POKE FNP(X,V),32
  5. 30 X=X+A:V=V+B:IF V=1 THEN A=1-2*RND ELSE IF V=23 THEN 90 ELSE IF PEEK(FNP(X,V))<>219 THEN POKE FNP(X,V),2: GOTO 20
  6. 40 IF PEEK(FNP(X,V-B))=32 THEN B=-B:M=M+1 ELSE IF PEEK(FNP(X-A,V))=32 THEN A=-A ELSE A=-A:B=-B:M=M+1
  7. 50 PLAY "MBC64": IF M MOD 14 THEN 30 ELSE L=L*.9: GOTO 30
  8. 60 KEY(12) OFF: KEY(13) OFF: IF D>1 THEN D=D-3: GOTO 80 ELSE 80
  9. 70 KEY(12) OFF: KEY(13) OFF: IF D<51 THEN D=D+3
  10. 80 LOCATE 22,D:PRINT P$;:PLAY"A64":KEY(12) ON:KEY(13) ON:RETURN
  11. 90 KEY (12) OFF: KEY(13) OFF:SOUND 39,11:C=C-1:LOCATE 9,69:PRINT C:IF C=0 THEN 280
  12. 100 FOR T=1 TO 2000:NEXT:M=1:RANDOMIZE(C):X=RND*35+10:V=RND*2+2:LOCATE 1,9+C*4:PRINT " ":KEY(12) ON: KEY(13) ON: GOTO 30
  13. 110 WIDTH 80: CLS: KEY OFF:  B=1: C=11
  14. 130 ON KEY(12) GOSUB 60: ON KEY(13) GOSUB 70
  15. 140 LOCATE 10,20: PRINT "LEFT AND RIGHT CURSOR KEYS MOVE THE PADDLE."
  16. 150 LOCATE 14,20: INPUT "PICK DRAG FACTOR, 1000 IS SLOW AND 0 IS FAST";L
  17. 160 DEF FNZ=VAL(LEFT$(TIME$,2))*3600 + VAL(MID$(TIME$,4,2))*60 + VAL( RIGHT$(TIME$,2))
  18. 170 B$="   ": LOCATE 14,20: PRINT "PICK YOUR PADDLE SIZE: (S)MALL, (M)EDIUM OR (L)ARGE  ": A$=INKEY$: IF A$="" THEN 160 ELSE IF A$="S" OR A$="s" THEN P=3 ELSE IF A$="M" OR A$="m" THEN P=4 ELSE P=5
  19. 180 CLS: COLOR 1: LOCATE 24,25
  20. 181 PRINT "FINAL EXAM";
  21. 190 LOCATE 3,66: PRINT "PONG GAME";
  22. 200 LOCATE 8,66: PRINT "BALLS LEFT";
  23. 210 LOCATE 11,65: PRINT "INITIAL DRAG"
  24. 220 DEF SEG=0: IF (PEEK(1040) AND 48)=48 THEN DEF SEG=&HB000 ELSE DEF SEG=&HB800
  25. 230 P$=B$+STRING$(P,219)+B$: FOR T=0 TO 9: POKE FNP(12+4*T,0),2: NEXT
  26. 240 FOR S=2 TO 54+P: POKE FNP(S,1), 219: NEXT
  27. 250 FOR S=2 TO 20: FOR T=0 TO 1: POKE FNP(T+2,S),219
  28. 260 POKE FNP(53+P+T,S), 219: NEXT: NEXT
  29. 270 COLOR 4: LOCATE, 69: PRINT L: D=25: GOSUB 80: W=FNZ: GOTO 90
  30. 280 Z=FNZ: COLOR 1: LOCATE 17, 66: PRINT "TIME SPENT": LOCATE 14,66: PRINT "FINAL DRAG":COLOR 4: LOCATE,69: PRINT L: LOCATE 18,65: PRINT USING "#### SECONDS"; Z-W: LOCATE 20,65: PRINT "WANT TO PLAY":LOCATE,65: PRINT"AGAIN (Y/N)?"
  31. 290 A$=INKEY$: IF A$="y" OR A$="Y" THEN RUN ELSE IF A$="N" OR A$="n" THEN CLS ELSE 290
  32.